﻿
using DexComanda.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DexComanda
{
    public partial class frmCadastrarPedido : Form
    {
        private Conexao con;
        private List<Grupo> grupos;
        private int codPessoa;
        private int codPedido;
        private string trocoPara;
        private string formaPagamento;
        public decimal ValorTotal;
        private List<ItemPedido> items;
        private Main parentWindow;
        private int codigoItemParaAlterar;
        private int rowIndex;
        private Font printFont;
        private Pessoa pCliente;
        private bool debug = false;

        public frmCadastrarPedido(int codP, int codigo, string tPara, string fPagamento, Main parent)
        {
            con = new Conexao();
            items = new List<ItemPedido>();
            grupos = new List<Grupo>();

            parentWindow = parent;
            codPessoa = codigo;
            codPedido = codP;
            trocoPara = tPara;
            formaPagamento = fPagamento;

            InitializeComponent();
        }

        private void itemsPedidoBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.itemsPedidoBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.dBExpertDataSet);
        }

        private void frmCadastrarPedido_Load(object sender, EventArgs e)
        {
            this.cbxTipoProduto.DataSource = con.SelectAll("Grupo", "spObterGrupo").Tables["Grupo"];
            this.cbxTipoProduto.DisplayMember = "NomeGrupo";
            this.cbxTipoProduto.ValueMember = "Codigo";


            if (codPedido != 0)
            {
                this.label3.Text = "Editar Pedido ( Código:" + codPedido + " )";
                this.btnAlterar.Visible = true;
                this.btnReimprimir.Visible = true;

                DataSet pessoa = con.SelectPessoaPorCodigo("Pessoa", "spObterPessoaPorCodigo", codPessoa);
                DataRow dRow = pessoa.Tables["Pessoa"].Rows[0];

                pCliente = new Pessoa()
                {
                    Nome = dRow.ItemArray.GetValue(1).ToString(),
                    Endereco = dRow.ItemArray.GetValue(2).ToString(),
                    Bairro = dRow.ItemArray.GetValue(3).ToString(),
                    Cidade = dRow.ItemArray.GetValue(4).ToString(),
                    PontoReferencia = dRow.ItemArray.GetValue(5).ToString(),
                    Observacao = dRow.ItemArray.GetValue(6).ToString(),
                    Numero = int.Parse(dRow.ItemArray.GetValue(7).ToString()),
                };

                DataSet itemsPedido = con.SelectItemPedidosPorCodigo("ItemsPedido", "spObterItemsPedido", codPedido);
                for (int i = 0; i < itemsPedido.Tables[0].Rows.Count; i++)
                {
                    var itemPedido = new ItemPedido()
                    {
                        CodProduto = itemsPedido.Tables["ItemsPedido"].Rows[i].Field<int>("CodProduto"),
                        NomeProduto = itemsPedido.Tables["ItemsPedido"].Rows[i].Field<string>("NomeProduto"),
                        Quantidade = itemsPedido.Tables["ItemsPedido"].Rows[i].Field<int>("Quantidade"),
                        PrecoUnitario = itemsPedido.Tables["ItemsPedido"].Rows[i].Field<decimal>("PrecoItem"),
                        PrecoTotal = itemsPedido.Tables["ItemsPedido"].Rows[i].Field<decimal>("PrecoTotalItem"),
                        Item = itemsPedido.Tables["ItemsPedido"].Rows[i].Field<string>("Item")
                    };
                    this.txtTrocoPara.Text = trocoPara;
                    this.txtFormaPagamento.Text = formaPagamento;
                    items.Add(itemPedido);
                    atualizarGrid();
                }
            }
            else
            {
                DataSet pessoa = con.SelectPessoaPorCodigo("Pessoa", "spObterPessoaPorCodigo", codPessoa);
                DataRow dRow = pessoa.Tables["Pessoa"].Rows[0];

                pCliente = new Pessoa()
                {
                    Nome = dRow.ItemArray.GetValue(1).ToString(),
                    Endereco = dRow.ItemArray.GetValue(2).ToString(),
                    Cidade = dRow.ItemArray.GetValue(3).ToString(),
                    Bairro = dRow.ItemArray.GetValue(4).ToString(),
                    PontoReferencia = dRow.ItemArray.GetValue(5).ToString(),
                    Observacao = dRow.ItemArray.GetValue(6).ToString(),
                    Numero = int.Parse(dRow.ItemArray.GetValue(7).ToString()),
                };

            }

        }

        private void cbxProdutosGrid_SelectedIndexChanged(object sender, EventArgs e)
        {
            var produto = con.SelectProdutoCompleto("Produto", "spObterProdutoCompleto", int.Parse(this.cbxProdutosGrid.SelectedValue.ToString())).Tables["Produto"];
            this.txtPrecoUnitario.Text = "R$ " + produto.Rows[0]["PrecoVenda"].ToString();

            if (this.cbxSabor.Enabled == true)
            {
                if (this.cbxSabor.Focused == true)
                {
                    var _produto = con.SelectProdutoCompleto("Produto", "spObterProdutoCompleto", int.Parse(this.cbxProdutosGrid.SelectedValue.ToString())).Tables["Produto"];
                    var sabor = con.SelectProdutoCompleto("Produto", "spObterProdutoCompleto", int.Parse(this.cbxSabor.SelectedValue.ToString())).Tables["Produto"];

                    var valorProduto = decimal.Parse(_produto.Rows[0]["PrecoVenda"].ToString());
                    var valorSabor = decimal.Parse(sabor.Rows[0]["PrecoVenda"].ToString());

                    if (valorProduto > valorSabor)
                    {
                        this.txtPrecoUnitario.Text = "R$ " + valorProduto;
                    }
                    else
                    {
                        this.txtPrecoUnitario.Text = "R$ " + valorSabor;
                    }
                }
            }
        }

        private void cbxTipoProduto_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.cbxProdutosGrid.DataSource = con.SelectProdutoPorGrupo("Produto", "spObterProdutoPorGrupo", this.cbxTipoProduto.Text).Tables["Produto"];
            this.cbxProdutosGrid.DisplayMember = "NomeProduto";
            this.cbxProdutosGrid.ValueMember = "Codigo";
        }

        private void txtQuantidade_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13 || e.KeyChar == (char)Keys.Tab || e.KeyChar == 11 || e.KeyChar == 9)
            {
                var precoUnitario = decimal.Parse(this.txtPrecoUnitario.Text.Replace("R$ ", ""));
                var quantidade = int.Parse(this.txtQuantidade.Text);
                var total = precoUnitario * quantidade;
                this.txtPrecoTotal.Text = "R$ " + total.ToString();
                this.btnAdicionarItemNoPedido.Focus();
            }
        }

        private void btnAdicionarItemNoPedido_Click(object sender, EventArgs e)
        {
            ItemPedido item = null;

            string itemNome;
            if (this.cbxSabor.Enabled == true)
            {
                itemNome = " ½ "+this.cbxProdutosGrid.Text + " + ½ " + this.cbxSabor.Text;
            }
            else
            {
                itemNome = this.cbxProdutosGrid.Text;
            }

            if (codPedido != 0)
            {
                Pedido pedido = new Pedido()
                {
                    Codigo = codPedido,
                    TotalPedido = ValorTotal,
                    TrocoPara = decimal.Parse(this.txtTrocoPara.Text.ToString()),
                    FormaPagamento = this.txtFormaPagamento.Text
                };

                item = new ItemPedido()
                {
                    CodPedido = codPedido,
                    CodProduto = int.Parse(this.cbxProdutosGrid.SelectedValue.ToString()),
                    NomeProduto = itemNome,
                    Quantidade = int.Parse(this.txtQuantidade.Text.ToString()),
                    PrecoUnitario = decimal.Parse(this.txtPrecoUnitario.Text.ToString().Replace("R$", "")),
                    PrecoTotal = decimal.Parse(this.txtPrecoTotal.Text.ToString().Replace("R$", "")),
                    Item = this.txtItemDescricao.Text.ToString()
                };

                pedido.TotalPedido = pedido.TotalPedido + item.PrecoTotal;

                con.Insert("spAdicionarItemAoPedido", item);
                con.Update("spAlterarTotalPedido", pedido);
            }
            else
            {
                item = new ItemPedido()
                {
                    CodProduto = int.Parse(this.cbxProdutosGrid.SelectedValue.ToString()),
                    NomeProduto = itemNome,
                    Quantidade = int.Parse(this.txtQuantidade.Text.ToString()),
                    PrecoUnitario = decimal.Parse(this.txtPrecoUnitario.Text.ToString().Replace("R$", "")),
                    PrecoTotal = decimal.Parse(this.txtPrecoTotal.Text.ToString().Replace("R$", "")),
                    Item = this.txtItemDescricao.Text.ToString()
                };
            }

            items.Add(item);
            LimparCampos();
            atualizarGrid();

            parentWindow.PopularGrid("Pedido", parentWindow.pedidosGridView);
            MessageBox.Show("Item adicionado com sucesso.");
        }

        private void btnGerarPedido_Click(object sender, EventArgs e)
        {
            int totalDeItems = this.gridViewItemsPedido.RowCount;
            if (totalDeItems == 0)
            {
                MessageBox.Show("O Pedido deve contem no mínimo um item.");
            }
            else
            {
                var pedido = new Pedido
                {
                    Codigo = 0,
                    CodPessoa = codPessoa,
                    TotalPedido = ValorTotal,
                    TrocoPara = decimal.Parse(this.txtTrocoPara.Text.ToString().Replace("R$", "")),
                    FormaPagamento = this.txtFormaPagamento.Text
                };

                con.Insert("spAdicionarPedido", pedido);

                for (int i = 0; i < items.Count; i++)
                {
                    var itemDoPedido = new ItemPedido()
                    {
                        CodPedido = con.getLastCodigo(),
                        CodProduto = items[i].CodProduto,
                        NomeProduto = items[i].NomeProduto,
                        Quantidade = items[i].Quantidade,
                        PrecoUnitario = items[i].PrecoUnitario,
                        PrecoTotal = items[i].PrecoTotal,
                        Item = items[i].Item
                    };
                    con.Insert("spAdicionarItemAoPedido", itemDoPedido);
                }

                if (debug == false)
                {
                    prepareToPrint();
                }
                // LimpaCampos();
                //gerarPdfDoPedido();

                parentWindow.PopularGrid("Pedido", parentWindow.pedidosGridView);
                MessageBox.Show("Pedido gerado com sucesso.");
                this.Close();
            }
        }

        private void AlterarItemPedido(object sender, EventArgs e)
        {

            ValorTotal = 0;

            foreach (ItemPedido item in items)
            {
                if (item.CodProduto == codigoItemParaAlterar)
                {
                    item.PrecoTotal = decimal.Parse(this.txtPrecoTotal.Text.Replace("R$ ", ""));
                }
            }

            foreach (ItemPedido item in items)
            {
                ValorTotal = ValorTotal + item.PrecoTotal;
            }

            string itemNome;
            if (this.cbxSabor.Enabled == true)
            {
                itemNome = "Meia " + this.cbxProdutosGrid.Text + " / Meia " + this.cbxSabor.Text;
            }
            else
            {
                itemNome = this.cbxProdutosGrid.Text;
            }


            var itemPedido = new ItemPedido()
            {
                CodProduto = codigoItemParaAlterar,
                CodPedido = codPedido,
                NomeProduto = itemNome,
                Quantidade = int.Parse(this.txtQuantidade.Text),
                PrecoUnitario = decimal.Parse(this.txtPrecoUnitario.Text.Replace("R$ ", "")),
                PrecoTotal = decimal.Parse(this.txtPrecoTotal.Text.Replace("R$ ", "")),
                Item = this.txtItemDescricao.Text
            };

            var pedido = new Pedido()
            {
                Codigo = codPedido,
                TotalPedido = ValorTotal,
                TrocoPara = decimal.Parse(this.txtTrocoPara.Text.ToString().Replace("R$", "")),
                FormaPagamento = this.txtFormaPagamento.Text
            };

            this.gridViewItemsPedido.Rows[rowIndex].Cells[1].Value = itemPedido.NomeProduto;
            this.gridViewItemsPedido.Rows[rowIndex].Cells[2].Value = itemPedido.Quantidade;
            this.gridViewItemsPedido.Rows[rowIndex].Cells[3].Value = "R$ " + itemPedido.PrecoUnitario.ToString();
            this.gridViewItemsPedido.Rows[rowIndex].Cells[4].Value = "R$ " + itemPedido.PrecoTotal.ToString();
            //  this.gridViewItemsPedido.Rows[rowIndex].Cells[5].Value = itemPedido.Item.ToString();


            this.lbTotal.Text = "R$ " + ValorTotal.ToString();

            con.Update("spAlterarItemPedido", itemPedido);
            con.Update("spAlterarTotalPedido", pedido);


            if (debug == false)
            {
                prepareToPrint();
            }
            parentWindow.PopularGrid("Pedido", parentWindow.pedidosGridView);

            this.cbxProdutosGrid.Text = "";
            this.txtPrecoUnitario.Text = "";
            this.txtQuantidade.Text = "";
            this.txtPrecoTotal.Text = "";
            this.txtItemDescricao.Text = "";
            MessageBox.Show("Pedido alterado com sucesso.");


        }

        public void atualizarGrid()
        {
            ValorTotal = 0;

            foreach (ItemPedido item in items)
            {
                ValorTotal = ValorTotal + item.PrecoTotal;
            }

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Codigo", typeof(string)));
            dt.Columns.Add(new DataColumn("Nome do Produto", typeof(string)));
            dt.Columns.Add(new DataColumn("Quantidade", typeof(string)));
            dt.Columns.Add(new DataColumn("Preço Unitário", typeof(string)));
            dt.Columns.Add(new DataColumn("Preço Total", typeof(string)));
            dt.Columns.Add(new DataColumn("Obs", typeof(string)));

            DataRow row;

            for (int i = 0; i < items.Count; i++)
            {
                row = dt.NewRow();

                row["Codigo"] = items[i].CodProduto;
                row["Nome do Produto"] = items[i].NomeProduto;
                row["Quantidade"] = items[i].Quantidade;
                row["Preço Unitário"] = "R$ " + items[i].PrecoUnitario;
                row["Preço Total"] = "R$ " + items[i].PrecoTotal;
                row["Obs"] = items[i].Item;
                dt.Rows.Add(row);
            }

            this.gridViewItemsPedido.AutoGenerateColumns = true;
            this.gridViewItemsPedido.DataSource = dt;
            this.lbTotal.Text = "R$ " + Convert.ToString(ValorTotal);
        }

        private void btnCancelarPedido_Click(object sender, EventArgs e)
        {
            this.Close();
            //EXCLUIR ITEMS DO PEDIDO E DEPOIS REMOVER PEDIDO
        }

        private void gridViewItemsPedido_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            DataGridView dgv = sender as DataGridView;
            rowIndex = dgv.CurrentRow.Index;

            int codItem = int.Parse(this.gridViewItemsPedido.Rows[rowIndex].Cells[0].Value.ToString());
            var itemCompleto = con.SelectProdutoCompleto("Produto", "spObterProdutoCompleto", codigoItemParaAlterar);

            string itemNome = this.gridViewItemsPedido.Rows[rowIndex].Cells[1].Value.ToString();

            string[] sabores = (this.gridViewItemsPedido.Rows[rowIndex].Cells[1].Value.ToString()).Split('/');
            List<string> list = new List<string>();

            foreach (string sabor in sabores)
            {
                list.Add(sabor);
            }

            if (list.Count > 1)
            {
                this.cbxMeiaPizza.Checked = true;
                this.cbxSabor.Enabled = true;
                this.cbxProdutosGrid.Text = sabores[0];
                this.cbxSabor.Text = sabores[1];
            }
            else
            {
                this.cbxMeiaPizza.Checked = false;
                this.cbxSabor.Enabled = false;
                this.cbxSabor.Text = "";
                this.cbxProdutosGrid.Text = this.gridViewItemsPedido.Rows[rowIndex].Cells[1].Value.ToString();
            }

            codigoItemParaAlterar = int.Parse(this.gridViewItemsPedido.Rows[rowIndex].Cells[0].Value.ToString());

            this.txtQuantidade.Text = this.gridViewItemsPedido.Rows[rowIndex].Cells[2].Value.ToString();
            this.txtPrecoUnitario.Text = this.gridViewItemsPedido.Rows[rowIndex].Cells[3].Value.ToString();
            this.txtPrecoTotal.Text = this.gridViewItemsPedido.Rows[rowIndex].Cells[4].Value.ToString();
            this.txtItemDescricao.Text = this.gridViewItemsPedido.Rows[rowIndex].Cells[5].Value.ToString();

        }

        private void gridViewItemsPedido_MouseClick(object sender, MouseEventArgs e)
        {
            DataGridView dgv = sender as DataGridView;
            if (e.Button == MouseButtons.Right)
            {
                ContextMenu m = new ContextMenu();
                MenuItem excluirItemPedido = new MenuItem("Excluir");
                excluirItemPedido.Click += ExcluirItem;
                m.MenuItems.Add(excluirItemPedido);

                int currentMouseOverRow = dgv.HitTest(e.X, e.Y).RowIndex;

                m.Show(dgv, new Point(e.X, e.Y));

            }
        }

        private void ExcluirItem(object sender, EventArgs e)
        {
            rowIndex = this.gridViewItemsPedido.CurrentRow.Index;

            var itemPedido = new ItemPedido()
            {
                CodProduto = codigoItemParaAlterar,
                CodPedido = codPedido
            };

            ValorTotal = ValorTotal - decimal.Parse(((this.gridViewItemsPedido.Rows[rowIndex].Cells[4].Value.ToString()).Replace("R$ ", "")));
            this.lbTotal.Text = "R$ " + Convert.ToString(ValorTotal);
            this.gridViewItemsPedido.Rows.RemoveAt(rowIndex);
            items.RemoveAt(rowIndex);

            this.txtPrecoUnitario.Text = "";
            this.txtQuantidade.Text = "";
            this.txtPrecoTotal.Text = "";

            ValorTotal = 0;

            foreach (ItemPedido _item in items)
            {
                ValorTotal = ValorTotal + _item.PrecoTotal;
            }

            var pedido = new Pedido()
            {
                Codigo = codPedido,
                TotalPedido = ValorTotal
            };

            con.Delete("spExcluirItemPedido", itemPedido);
            con.Update("spAlterarTotalPedido", pedido);
            parentWindow.PopularGrid("Pedido", parentWindow.pedidosGridView);
            MessageBox.Show("Item excluído com sucesso.");
        }

        private void prepareToPrint()
        {

            printFont = new Font("Arial", 8);
            PrintDocument pd = new PrintDocument();

            pd.PrintPage += new PrintPageEventHandler(this.imprimirSegundaVia);

            pd.Print();
            pd.PrintPage -= new PrintPageEventHandler(this.imprimirSegundaVia);

            pd.PrintPage += new PrintPageEventHandler(this.imprimirPrimeiraVia);
            pd.Print();

        }

        private void imprimirPrimeiraVia(object sender, PrintPageEventArgs ev)
        {

            string line = null;
            int i = 0;
            Empresa empresa = AutoConfig.getEmpresa();

            foreach (ItemPedido item in items)
            {


                if (i == 0)
                {
                    line = "DEX COMANDA - VIA COZINHA - PEDIDO Nº " + codPedido + "\r\n";
                    line += "--------------------------------------------------------------------\r\n";
                    line += "Emitido em " + DateTime.Now.ToShortDateString();
                    line += " às " + DateTime.Now.ToShortTimeString() + "\r\n\n";

                }

                line += i + ". " + item.NomeProduto.ToString() + ", Quantidade:" + item.Quantidade.ToString() + "\r\n";
                //line += "Obs:" + item.Item.ToString().ToUpper() + "\r\n";
                ev.Graphics.DrawString(line, printFont, Brushes.Black, 0, 0);
                ev.HasMorePages = false;
                i++;
                // MP2032.BMP2032.AcionaGuilhotina(1);
            }
            ev.HasMorePages = false;
        }

        private void imprimirSegundaVia(object sender, PrintPageEventArgs ev)
        {
            string line = null;
            int i = 0;

            foreach (ItemPedido item in items)
            {
                if (i == 0)
                {
                    line = "DEXCOMANDA - VIA ENTREGA - PEDIDO Nº " + codPedido + "\r\n";
                    line += "-----------------------------------------------------------------------\r\n";
                    line += "Emitido em " + DateTime.Now.ToShortDateString();
                    line += " às " + DateTime.Now.ToShortTimeString() + "\r\n\n";

                    line += "DADOS DE ENTREGA\r\n\n";
                    line += "Cliente: " + pCliente.Nome + "\r\n";
                    line += "Endereco: " + pCliente.Endereco + "," + pCliente.Numero + "\r\n";
                    line += "Obs:" + pCliente.Observacao + "\r\n";
                    line += "Bairro:" + pCliente.Bairro + "\r\n";
                    line += "Cidade: " + pCliente.Cidade + "\r\n";
                    line += "Ponto Referência:" + pCliente.PontoReferencia + "\r\n";
                    line += "TROCO PARA R$:  " + trocoPara + "\r\n";
                    line += "Forma de Pagamento:" + formaPagamento + "\r\n";
                    line += "________________________________________\n";
                    line += "DADOS DOS PRODUTOS\r\n\n";
                }

                line += i + ". "+item.NomeProduto.ToString() + "      " + item.Quantidade.ToString() + "            " + item.PrecoTotal + "\r\n";


                ev.HasMorePages = true;
                i++;
            }
            line += "-----------------------------------------------------------------------\n";
            line += "                                                       " + "Valor Total: R$" + ValorTotal + "\r\n";
            ev.Graphics.DrawString(line, printFont, Brushes.Black, 0, 0);
            ev.HasMorePages = false;
        }

        private void btnReimprimir_Click(object sender, EventArgs e)
        {
            if (debug == false)
            {
                prepareToPrint();
            }
        }

        private void cbxMeiaPizza_CheckedChanged(object sender, EventArgs e)
        {
            if (this.cbxMeiaPizza.Checked.Equals(true))
            {
                this.cbxSabor.Enabled = true;
                this.cbxSabor.DataSource = con.SelectProdutoPorGrupo("Produto", "spObterProdutoPorGrupo", this.cbxTipoProduto.Text).Tables["Produto"];
                this.cbxSabor.DisplayMember = "NomeProduto";
                this.cbxSabor.ValueMember = "Codigo";
            }
            else
            {
                this.cbxSabor.Enabled = false;
                this.cbxSabor.Text = "";
                this.cbxProdutosGrid.Text = "";
            }
        }

        private void cbxSabor_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.cbxSabor.Focused == true)
            {
                var produto = con.SelectProdutoCompleto("Produto", "spObterProdutoCompleto", int.Parse(this.cbxProdutosGrid.SelectedValue.ToString())).Tables["Produto"];
                var sabor = con.SelectProdutoCompleto("Produto", "spObterProdutoCompleto", int.Parse(this.cbxSabor.SelectedValue.ToString())).Tables["Produto"];

                var valorProduto = decimal.Parse(produto.Rows[0]["PrecoVenda"].ToString());
                var valorSabor = decimal.Parse(sabor.Rows[0]["PrecoVenda"].ToString());

                if (valorProduto > valorSabor)
                {

                    this.txtPrecoUnitario.Text = "R$ " + valorProduto;

                }
                else
                {

                    this.txtPrecoUnitario.Text = "R$ " + valorSabor;

                }
            }
        }

        internal void changeValorTotal(decimal p)
        {
            this.lbTotal.Text = p.ToString();
        }

        private void btnAtualizar_Click(object sender, EventArgs e)
        {
            var pedido = new Pedido()
            {
                Codigo = codPedido,
                TotalPedido = ValorTotal,
                TrocoPara = decimal.Parse(this.txtTrocoPara.Text.ToString()),
                FormaPagamento = this.txtFormaPagamento.Text
            };

            con.Update("spAlterarTrocoParaFormaPagamento", pedido);
            parentWindow.PopularGrid("Pedido", parentWindow.pedidosGridView);
            MessageBox.Show("Troco para e/ou Forma de pagamento atualizados");
        }

        private void LimparCampos()
        {
            this.cbxTipoProduto.Text = "";
            this.cbxProdutosGrid.Text = "";
            this.txtQuantidade.Text = "1";
            this.txtPrecoUnitario.Text = "";
            this.txtPrecoTotal.Text = "";
            this.txtItemDescricao.Text = "";
        }
    }
}
